<?php

/**
 * @author FROSTY (valik619)
 * @site nadmad.ru
 * @mail valik619@inbox.ru
 */
 
$title = 'WBCMS - wap blogs CMS';
$root = '../';
include('../system/core.php');

if (!$uid) {
    header('Location: http://'.$set['home'].'/login.php');
    exit;
}

if ($user['rights'] != 1) {
    header('Location: http://'.$set['home'].'/index.php');
    exit;
}

include('../system/head.php');

$action=htmlspecialchars(trim($_GET['a']));

echo '<div class="title">'.$lang['work_file'].'</div>';

switch ($action){

default:

echo '<div id="imenu">';

echo '<div class="info">';

echo '<form action="files.php?a=import" method="post">';
echo '<h3>'.$lang['urlfile'].'</h3>';
echo '<textarea name="url">http://</textarea><br />';
echo '<p><input type="submit" name="submit" value="'.$lang['add'].'"/></form></p>';
echo '<p><a href="files.php?a=files">'.$lang['all'].' '.$lang['files'].'</a> <a href="files.php?a=load">'.$lang['load'].'</a></p>';
    

echo '</div>'; // class=info

echo '</div>'; //id=imenu

break;


case 'import':

$image = $_POST['url'];

$image = mysql_real_escape_string($image);

        $dir = $root."files/import";
$newfile = basename(rtrim($image, '/'));

 $ext = explode(".", $newfile); //Тип файла

        $al_ext = array('exe', 'jar', 'jad', 'sis', 'nth', 'txt', 'docx', 'css', 'doc', 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'mp4', '3gp', 'avi', 'mp3');
        $ext = explode(".", $newfile);
        // Проверка допустимых расширений файлов
        if (!in_array($ext[1], $al_ext)){
            echo '<div id="imenu">';
           echo '<div class="info">'.$lang['error_type'].':<br />'.implode(', ', $al_ext).'</div>';
           echo '</div>';
           break;
           }
$info = pathinfo($newfile);
$file_name =  basename($newfile,'.'.$info['extension']);

echo $file_name; // outputs 'image'
$newfile = ''.$file_name.'_' . time().'.'.$info['extension'].'';
echo $newfile;
$uploadfil = new SplFileObject($image, 'rb');
$file = new SplFileObject($dir . DIRECTORY_SEPARATOR . $newfile, 'w');
$file->setFlags(SplFileObject::SKIP_EMPTY);
if ($file->flock(LOCK_EX)) { 
$file->ftruncate(0);
while (!$uploadfil->eof()) {
$file->fwrite($uploadfil->fgets());
}
} 
$file->flock(LOCK_UN);


if (file_exists($dir . DIRECTORY_SEPARATOR . $newfile)) {


mysql_query("INSERT INTO `import` (id,name,url) VALUES (NULL ,'$newfile', '$image');");
echo '<div id="imenu">';
echo '<div class="info"><a href="files.php?a=files">'.$lang['succes_upload'].'</a> <a href="files.php?a=upload">'.$lang['load'].'</a></div>';
echo '</div>';
}

break;

case 'files': 

$array = array('png', 'gif', 'bmp', 'jpg', 'jpeg');


$posts=mysql_query("SELECT * FROM `import` ORDER BY `id` DESC");

    //Моя навигация
    $page = (isset($_GET['p'])) ? intval($_GET['p']) : 1; 
    $allpage = ceil(mysql_num_rows($posts)/$kmess);
    $start = $page*$kmess - $kmess; 

echo '<div id="imenu">';

if(!mysql_num_rows($posts)){
    echo '<div class="info">'.$lang['files_not'].'</div>';
        
        }else{
          $post=mysql_query("SELECT * FROM `import` ORDER BY `id` DESC LIMIT $start,$kmess");
while($row=mysql_fetch_assoc($post)){
    
    echo '<div class="info"><a href="../files/import/'.$row['name'].'">'.$row['name'].'</a> <a href="../files/import/delete.php?id='.$row['id'].'" style="float: right;">X</a></div>';
    
    $type = explode(".", $row['name']);
    $type = $type[count($type) - 1];
    
    if(in_array($type, $array)){
    echo '<input type="name" value="[img]http://'.$set['home'].'/files/import/'.$row['name'].'[/img]"></input><br />';
    }elseif($type == 'mp3'){
    echo '<input type="name" value="[muz]http://'.$set['home'].'/files/import/'.$row['name'].'[/muz]"></input><br />';   
    }else{
    echo '<input type="name" value="[url=http://'.$set['home'].'/files/import/'.$row['name'].']'.$lang['download'].' '.$row['name'].'[/url]"></input><br />';       
    }
    };
    $total = mysql_num_rows($posts);
    if($total>$kmess){
    echo '<p>';
    functions::navigation($allpage,"index.php?id=".$pr."&amp;p={p}",1);  
echo '</p>';}
}
echo '</div>';

echo '<div class="title"><a href="files.php">'.$lang['files'].'</a></div>';
break;

case 'load':
    $file = '';
    if ($_FILES['fail']['size'] > 0) {
        $do_file = 1;
        $file = functions::rus_lat(mb_strtolower($_FILES['fail']['name']));
        $fsize = $_FILES['fail']['size'];
      //  $file = nl2br($file);
    }

    /*
    --------------  ---------------------------------------------------
    Обработка файла (если есть), проверка на ошибки
    -----------------------------------------------------------------
    */
    if ($do_file == 1) {
        // Список допустимых расширений файлов.
        $al_ext = array('png', 'gif', 'bmp', 'jpg', 'jpeg', 'exe', 'jar', 'jad', 'nth', 'thm', 'sis', 'mp3', '3gp', 'avi', 'mp4', 'zip', 'rar');
        $ext = explode(".", $file);
        // Проверка файла на наличие только одного расширения
        if (count($ext) != 2){
            echo 'Помилка! Файл може мати лише один тип!'; break;
            }
        // Проверка допустимых расширений файлов
        if (!in_array($ext[1], $al_ext)){
            echo 'Помилка! Недопустимий тип файлу!<br />' . implode(', ', $al_ext); break;
}
        // Обработка названия файла
        if(mb_strlen($ext[0]) == 0){
            $ext[0] = '---';
        }
        $ext[0] = str_replace(" ", "_", $ext[0]);
        $fname = mb_substr($ext[0], 0, 32) . '.' . $ext[1];

        // Проверка на запрещенные символы
        if (preg_match("/[^\da-zA-Z_\-.]+/", $fname)){
            echo 'Помилка! Заборонені символи в назві файлу!'; break;
        }
           
        // Проверка наличия файла с таким же именем
        if (file_exists("../files/import/$fname")) {
            $filename = basename($fname,'.'.$ext[1]);
            $fname = ''.$filename.''.time().'.'.$ext[1].''; //еба... набыдлокодил...
        }

        // Окончательная обработка
        if ($do_file) {
            if ((move_uploaded_file($_FILES["fail"]["tmp_name"], "../files/import/$fname")) == true) {
                @chmod("$fname", 0777);
                @chmod("../files/import/$fname", 0777);
                echo '<div class="small"><a href="files.php?a=files"><span class="green">'.$lang['file_uploaded'].'</span></a></div>';
            } else {
               echo 'Помилка при вигрузці файлу!'; break;
            }
        }
            // Заносим данные в базу
mysql_query("INSERT INTO `import` (id,name,url) VALUES (NULL ,'$fname', 'http://$set[home]/files/import/$image');");

} else {
    /*
    -----------------------------------------------------------------
    Форма выбора файла для выгрузки
    -----------------------------------------------------------------
    */
    echo '<div id="imenu"><div class="info"><form action="files.php?a=load" method="post" enctype="multipart/form-data"><p>';
        echo '<input type="file" name="fail"/>';
    echo '</p><p><input type="submit" name="submit" value="' . $lang['load'] . '"/></p></form></div></div>';
    echo '<div class="title"><a href="files.php?a=files">'.$lang['back'].'</a></div>';
    }




break;

}





include('../system/foot.php');

/**
 * @author FROSTY (valik619)
 * @site nadmad.ru
 * @mail valik619@inbox.ru
 */

?>